# 基于Python官方镜像
FROM python:3.12-slim

# 设置工作目录
WORKDIR /workspace

# 设置环境变量
ENV PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1 \
    PIP_DISABLE_PIP_VERSION_CHECK=1 \
    PYTHONPATH=/workspace:$PYTHONPATH

# LLM 相关环境变量
ENV LLM_PROVIDER=openai
ENV LLM_API_KEY=
ENV LLM_MODEL=
ENV LLM_API_BASE=
ENV LLM_TIMEOUT=6000

# 安装系统依赖
RUN apt-get update && apt-get install -y \
    build-essential \
    curl \
    && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
    && apt-get install -y nodejs \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# 验证Node.js版本
RUN node --version && npm --version

# 复制requirements.txt并安装Python依赖
COPY src3/requirements.txt .
RUN --mount=type=cache,target=/root/.cache/pip \
    pip install --upgrade pip && \
    pip install --no-cache-dir - -r requirements.txt

# 复制项目文件
COPY src3/ /workspace

# 暴露端口
EXPOSE 8000

# 设置启动命令，绑定到所有网络接口
CMD ["chainlit", "run", "ui/app.py", "--port", "8000", "--host", "0.0.0.0"]